package Logica;

import Graficas.InterfaceGrafica;
import Graficas.SpriteMovements;

/**
 * Clase que representa un personaje del juego.
 * 
 * @author Mariano Rodecker
 * @author Matias Varela
 * 
 */
public abstract class Personaje extends Objeto {
	/* ################## CONSTRUCTOR ######################## */
	protected void iniPersonaje(int sizeX,int sizeY,SpriteMovements sm, InterfaceGrafica ig){
		super.iniObjeto(sizeX, sizeY, sm, ig);
		
	}
	/* ################## COMANDOS ######################## */
	public void setInteligencia (Inteligencia intel){
		this.intel=intel;
	}
	/**
	 * Realiza la accion de ganar.
	 */
	public abstract void ganar();

	/**
	 * Realiza la accion de morir.
	 */
	public abstract void morir();

	/* ################## CONSULTAS ######################## */

	/**
	 * Retorna si el personaje ha ganado .
	 * 
	 * @return true si el personaje ha ganado; false en otro caso
	 */
	public abstract boolean isWin();

	/**
	 * Retorna si el personaje esta muerto..
	 * 
	 * @return true si el personaje esta muerto.; false en otro caso
	 */
	public abstract boolean isDead();
	
	public abstract void aumentarPuntos(int n) ;

}
